<?php

/**
 * registrar_cliente actions.
 *
 * @package    PhpProject1
 * @subpackage registrar_cliente
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class registrar_clienteActions extends sfActions {

    /**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */
    public function executeIndex(sfWebRequest $request) {
        $decPaisTable = Doctrine_Core::getTable("DecPais")->findAll();
        $this->decPaisTable = $decPaisTable;

        $decTipoDocumentoTable = Doctrine_Core::getTable("DecTipoDocumento")->findAll();
        $this->decTipoDocumentoTable = $decTipoDocumentoTable;
    }

    public function executeSave(sfWebRequest $request) {
        $inputPrimerNombre = $request->getParameter("inputPrimerNombre");
        $inputSegundoNombre = $request->getParameter("inputSegundoNombre");
        $inputPrimerApellido = $request->getParameter("inputPrimerApellido");
        $inputSegundoApellido = $request->getParameter("inputSegundoApellido");
        $inputFechaNacimiento = $request->getParameter("inputFechaNacimiento");
        $inputSexo = $request->getParameter("inputSexo");
        $inputNacionalidad = $request->getParameter("inputNacionalidad");
        $inputTipoDocumento = $request->getParameter("inputTipoDocumento");
        $inputNumeroDocumento = $request->getParameter("inputNumeroDocumento");
        $inputTelefono = $request->getParameter("inputTelefono");
        $inputDireccion = $request->getParameter("inputDireccion");
        $inputEmail = $request->getParameter("inputEmail");
        $inputUsuario = $request->getParameter("inputUsuario");
        $inputPassword = $request->getParameter("inputPassword");

        $nombreCompleto = "";
        if (strlen($inputPrimerNombre) > 0) {
            $nombreCompleto = $inputPrimerNombre;
        }
        if (strlen($inputSegundoNombre) > 0) {
            $nombreCompleto = $nombreCompleto . " " . $inputSegundoNombre;
        }
        if (strlen($inputPrimerApellido) > 0) {
            $nombreCompleto = $nombreCompleto . " " . $inputPrimerApellido;
        }
        if (strlen($inputSegundoApellido) > 0) {
            $nombreCompleto = $nombreCompleto . " " . $inputSegundoApellido;
        }

        $decCredenciales = new DecCredenciales();
        $decCredenciales->setCreUsuario($inputUsuario);
        $decCredenciales->setCrePassword(md5($inputPassword, true));
        $decCredenciales->save();

        $decPersona = new DecPersona();
        $decPersona->setPerCredencialesId($decCredenciales->getCreId());
        $decPersona->setPerPaisId($inputNacionalidad);
        $decPersona->setPerTipoDocumentoId($inputTipoDocumento);
        $decPersona->setPerPrimerNombre($inputPrimerNombre);
        $decPersona->setPerSegundoNombre($inputSegundoNombre);
        $decPersona->setPerPrimerApellido($inputPrimerApellido);
        $decPersona->setPerSegundoApellido($inputSegundoApellido);
        $decPersona->setPerNombreCompleto($nombreCompleto);
        $decPersona->setPerIdentificacionDocumento($inputNumeroDocumento);
        $decPersona->setPerTelefono($inputTelefono);
        $decPersona->setPerDireccion($inputDireccion);
        $decPersona->setPerFechaNacimiento($inputFechaNacimiento);
        $decPersona->setPerSexo($inputSexo);
        $decPersona->setPerEmail($inputEmail);
        $decPersona->setPerEsAdmin(0);
        $decPersona->setPerEsCliente(1);
        $decPersona->setPerEsEmpleado(0);
        $decPersona->save();

        return sfView::NONE;
    }

    public function executeUserExists(sfWebRequest $request) {
        $inputUsuario = $request->getParameter("inputUsuario");

        $response = Doctrine_Core::getTable("DecCredenciales")->findBy("cre_usuario", $inputUsuario)->count();

        $this->getResponse()->setContent($response);
        return sfView::NONE;
    }

}
